package com.eslserver.dao;

import com.eslserver.dao.DAOFactory;
import com.eslserver.dao.ESLServerDAOFactory;

public abstract class DAOFactory {

	// List of DAO types supported by the factory
	public static final int ESLSERVER_DAOFACTORY = 1;

	public abstract ESLDAO getESLDAO() throws DAOException;

	public abstract GroupDAO getGroupDAO() throws DAOException;

	public abstract ScheduleDAO getScheduleDAO() throws DAOException;

	public abstract ImageDAO getImageDAO() throws DAOException;

	public abstract CoordinatorDAO getCoordinatorDAO() throws DAOException;

	public static final DAOFactory getDAOFactory(int whichFactory) {
		switch (whichFactory) {
		case ESLSERVER_DAOFACTORY:
			return new ESLServerDAOFactory();
		default:
			return null;
		}
	}
}
